#ifndef _INTERVAL_
#define _INTERVAL_

// Includes
#include <iostream>

// Namespaces
using namespace std;

// -----------
class Interval
// -----------
{
private:
        double low;
        double high;

public:
        Interval();
        Interval(double low, double high);
        virtual ~Interval();
        virtual double getLowPoint() const;
        virtual double getHighPoint() const;
        virtual Interval intersect(Interval& other) const;
        virtual Interval* intersect(Interval* other) const;
        virtual bool isEmpty() const;
        virtual void print() const;
        virtual bool contains(double d) const;
};

#endif /* _Interval */
